\appendix
%\makeatletter
%\def\@seccntformat#1{Appendix~\csname the#1\endcsname:\quad}
%\makeatother

\chapter{Fichiers de configuration}
\section{Grabber}\label{grab_example}
\begin{lstlisting}[caption=Example de fichier de configuration du Grabber]
PFS="CDN"
SRV_TYPE="PCDNSG"
SRV_LIST="10.104.73.131:P1CDNSG1 10.104.73.132:P1CDNSG2"

SRC="/usr/vds/vsg/logs/vsg.log"
SRC_DATE="/usr/vds/vsg/logs/vsg.log.$(date -d "$CUSTOM_DATE" +%Y-%m-%d).gz"
LOG_TYPE="vsg"
MODE="REAL TIME"

FREQUENCY=15
PATTERN="(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}),"
PATTERNMATCH="$DAY=$3;$MONTH=$2;$YEAR=$1;$HOUR=$4;$MIN=$5;$SEC=$6;"
SCHEDULER="TRUE"
AGGREGATOR="TRUE"
\end{lstlisting}

\section{Loader}\label{load_example}
\begin{lstlisting}[caption=Example de fichier de configuration loader]
<?xml version="1.0"?>
<root>
    <transformer type="static">
        <transformer type="csv" separator=";" command="conf/scripts/ENA1_OPENACM_cmsi_vod_trace.sh">
		    <col name="date" />
		    <col name="response_time" />
            <col name="commande" />
            <col name="status" />
         </transformer>
         <col name="pfs" value="${arg:pfs}" />
         <col name="server" value="${arg:srv}" />
    </transformer>
    <fact name="ENA_CMSI_CVOD">
        <date use="ymdhi(5)" csv-name="date" format="yyyyMMddHHmm" from-tz="GMT"/>
        <col name="response_time" sql-type="BIGINT(12) NOT NULL" csv-name="response_time"/>
        <dim name="ENA_CMSI_CVOD_cmd" csv-name="commande"/>
        <dim name="ENA_CMSI_CVOD_status" csv-name="status"/>
        <dim name="pfs"    csv-name="pfs"/>
        <dim name="server" csv-name="server"/>
    </fact>
    <star name="ENA_CMSI_CVOD">
        <mesure name="nb_hit" method="count" sql-type="INT UNSIGNED NULL" />
        <mesure name="sum_response_time" method="sum" column="response_time" sql-type="BIGINT(12) NOT NULL" />
        <date use="ymdhi(5)" />
        <dim name="ENA_CMSI_CVOD_cmd"/>
        <dim name="ENA_CMSI_CVOD_status"/>
        <dim name="server"/>
        <dim name="pfs" />
        <navigation>
          <axis name="ENA_CMSI_CVOD_ymdhi_cmd_status">
             <date use="ymdhi(5)" />
             <dim name="ENA_CMSI_CVOD_cmd" />
             <dim name="ENA_CMSI_CVOD_status" />
          </axis>
        </navigation>  
    </star>
</root>
\end{lstlisting}

\section{Report}\label{report_example}
\begin{lstlisting}[caption=Example de fichier de configuration report]
<?xml version="1.0"?>
<reports>
  <title>Suivi des sessions </title>
  <definition>QS003-ROSE-FW.doc</definition>
  <report star="rose_fw_status">
    <filter id="date" type="date" day="false" week="false" month="false" />            
    <title>
      <text>Suivi des sessions des Firewall de ROSE</text>
    </title>
    
    <request id="rose_status">
        <dim name="rose_firewall" />
        <dim name="date_minute_5" />
        <filter formula="$date_minute_5 BETWEEN !date.yyyyMMdd0000 AND !date.yyyyMMdd2355" />
        <star name="rose_fw_status">
            <measure name="max_sess_fail" /> 
            <measure name="max_sess_use" /> 
        </star>        
    </request>
    
    <section display="inline">
      <chart type="line" width="50%" request="rose_status" axis="date_minute_5">
        <title>Suivi des sessions en erreur</title>
        <legend visible="true" position="right" title="Les firewall" />
        <formulas>
          <formula measure="max_sess_fail" />
        </formulas>      
        <dimensions>
            <dimension name="rose_firewall" />
        </dimensions>
      </chart>
      <chart type="pie" width="47%" height="260px" request="rose_status" axis="rose_firewall">
        <title>Répartition des sessions</title>
        <legend visible="false" />        
        <formulas>
          <formula measure="max_sess_use" />
        </formulas>      
      </chart>
    </section>

    <section display="inline" title="Firewall @{$rose_firewall}" request="rose_status">
      <datagrid width="50%" request="rose_status">
        <columns>
          <column title="Erreurs" id="col_err" />
          <column title="Sessions" id="col_sess" />
          <column title="% d'erreurs" id="col_err2" />
        </columns>
        <lines>
          <line title="@(HH:00){$date_minute_5}" id="line"/>    
        </lines>
        <formulas>
          <formula line="line" column="col_err" formula="@ (#,##0) { max(%max_sess_fail) }" />
          <formula line="line" column="col_sess" formula="@ (#,##0) { max(%max_sess_use) }" />
          <formula line="line" column="col_err2" formula="@ (0%) { max(%max_sess_fail) / max(%max_sess_use) * 100 }" />
        </formulas>
      </datagrid>   
       <chart type="line" width="47%" height="260" request="rose_status" axis="date_minute_5">
        <title>Evolution de la charge (sessions)</title>
        <legend visible="false" />
        <formulas>
          <formula formula="@ {%max_sess_use}" />
        </formulas>      
      </chart>         
    </section>
  </report>  
</reports>
\end{lstlisting}

\section{Fichier JSON pour la création de l'arborescence Jstree}\label{json_example}
\begin{lstlisting}[label=json_treeview,caption=Exemple JSON]
{
    "data": "reports",	//Le titre de l'element principal
	    "children": [			//La liste de ses enfants
        { 							//Enfant 1
            "data": "request",					//Titre enfant 1		
            "children": [],						//Absence de fils
            "attr": {
                "rel": "request"			//attribut lie a jstree.js 
            },
            "metadata": { 	//Stockage des informations pour modifier et construire notre node
                "id": "",
                "dim": [
                    "fk_date_day",
                    "fk_date_month"
                ],
                "tag": "request",
                "star": "cdn_mc_vip_all_contents",
                "mesure": [
                    "m_nb_content"
                ],
                "filter": ""
            }
        } ],
    "attr": {
        "rel": "reports"		//attribut lie a jstree.js 
    },
    "metadata": { 	//Stockage des informations pour modifier et construire notre node
        "tag": "reports",
        "from_file": ""
    }
}
\end{lstlisting}

\chapter{Diagramme de classe}
\section{Classe d'actions Struts}\label{actionUml}
\begin{figure}[!b]
\centering
\includegraphics[scale=0.4]{../img/actionStrutsUml.png}
\caption{Diagramme de classe des actions Struts dédiées aux éditeurs}
\end{figure}

\clearpage

\section{Classes Grabber Editor}\label{grabUml}
\begin{figure}[!b]
\centering
\includegraphics[scale=0.5]{../img/grabberUml.jpg}
\caption{Diagramme de classe du l'outil Grabber}
\end{figure}

\clearpage
\section{Classes TreeView Model}\label{treeviewModelUml}
\begin{figure}[!b]
\centering
\includegraphics[scale=0.7]{../img/treeviewUml.png}
\caption{Diagramme de classe TreeViewModel}
\end{figure}

\chapter{Déroulement}
\section{Diagramme de Gantt}\label{gantt}
\begin{figure}[!h]
\centering
\includegraphics[scale=0.6]{../img/gantt.png}
\caption{Diagramme de Gantt du stage}
\end{figure}